package com.luo.chengrui.framework.sadatapermission.core.rule.dept;

import com.luo.chengrui.framework.sadatapermission.core.rule.DataPermissionRule;

/**
 * {@link DataPermissionRule} 的自定义配置接口
 *
 * @author 诚睿
 */
@FunctionalInterface
public interface DataPermissionRuleCustomizer {

    /**
     * 自定义该权限规则
     * 1. 调用 {@link DataPermissionRule#addDeptColumn(Class, String)} 方法，配置基于 dept_id 的过滤规则
     * 2. 调用 {@link DataPermissionRule#addUserColumn(Class, String)} 方法，配置基于 user_id 的过滤规则
     *
     * @param rule 权限规则
     */
    void customize(DataPermissionRule rule);

}
